#!/bin/bash

# 获取 Android 版本号
android_version=$(getprop ro.build.version.release)

# 将版本号转换为整数部分和小数部分进行比较
major_version=${android_version%%.*}  # 获取主版本号

if [ "$major_version" -ge 11 ]; then
    echo "Android 版本 $android_version 大于或等于 11"
else
    echo "Android 版本 $android_version 小于 11"
fi
# 加载包含 dialog 函数的脚本
source /sdcard/dialogs
dialog_msgbox "ADB 工具箱" "请确保您的设备已启用无线调试，并在设备上生成了配对码。"

# 定义正则表达式检查 IP 和端口格式
ip_port_regex="^([0-9]{1,3}\.){3}[0-9]{1,3}:[0-9]{1,5}$"
pairing_code_regex="^[0-9]+$"

# 输入设备的 IP 地址并验证格式
while true; do
    device_ip=$(dialog_inputbox "请输入设备的 IP 地址（格式：IP:端口，通常端口是 5555）：" )
    if [[ $device_ip =~ $ip_port_regex ]]; then
        break
    else
        dialog_msgbox "格式错误" "请输入正确的 IP 地址和端口格式，例如：192.168.1.100:5555"
    fi
done

# 输入设备的配对码并验证格式
while true; do
    pairing_code=$(dialog_inputbox "请输入设备的配对码（仅数字）：" )
    if [[ $pairing_code =~ $pairing_code_regex ]]; then
        break
    else
        dialog_msgbox "格式错误" "请输入正确的配对码，配对码应为数字。"
    fi
done

# 使用 ADB 配对设备
echo "正在使用 IP $device_ip 和配对码 $pairing_code 进行配对..."
echo $pairing_code | adb pair "$device_ip" 2>&1
pairing_result=$?

# 检查配对结果
if [ $pairing_result -eq 0 ]; then
    dialog_msgbox "配对成功" "设备 $device_ip 已成功配对。现在尝试连接到设备。"

    # 使用 ADB 连接到设备
    adb connect "$device_ip" 2>&1
    connect_result=$?

    # 检查连接结果
    if [ $connect_result -eq 0 ]; then
        dialog_msgbox "连接成功" "设备 $device_ip 已成功连接。"
    else
        dialog_msgbox "连接失败" "已成功配对设备，但无法连接到设备 $device_ip，请检查网络设置。"
    fi
else
    dialog_msgbox "配对失败" "无法配对设备 $device_ip，请检查 IP 地址和配对码是否正确。"
fi